You asked for it, and it’s finally here! If you haven’t noticed, there’s a new course available on the Developer Portal: Service Portal. This course introduces core Service Portal concepts and currently focuses on leveraging baseline portal widgets and functionality. Topics include: Service portal anatomy Creating new portals Portal pages Page layout Containers Widgets, and adding widgets to pages Setting widget options Responsive pages Page editor Portal branding And more!
In September 2017, a group of us convened in San Diego for a CreatorCon on the Road event. We spent a day at the Paradise Point resort with Pat Casey, Joe Davis and Jonathan Sparks reprising their keynotes from Orlando earlier this year. After that we had a full day of breakout sessions and workshops, along with exhibits and pods showing off various projects. We now have a set of the breakout talks posted on our Developer Program YouTube channel.
Last spring several of us with the developer program had a trip to India to put on some Developer Days events. We returned again in August to bring the CreatorCon on the Road experience to the country. One of the main drivers of the timing was the fact that the new ServiceNow office in Hyderabad was opening on August 9th so there would be a puja ceremony and festivities around that.
I’ll start with the good stuff. Starting with Jakarta, SNI is supported! If you need to enable it, create a system property named glide.outbound.tls_sni.enabled and set the value to true. After you set this property, it make take up to 30 seconds for the change to take effect. If you’re using a MID server, create a MID server property with the same name and restart the MID Server. If you don’t know what SNI is, don’t worry, you’re not alone.
In case you were not aware, there is a collection of Technical Best Practices that are published on the Developer Portal. This material is also available via navigation under the Learn > Documentation header in the top navigation. This is important information that needs to have a good home where it is accessible by developers at any time. We often have sessions covering this material at Knowledge (I co-presented on in 2014, for example) but it can be difficult to know where to access it on a daily basis.
Last week at Slack Frontiers, a big announcement was made about a new partnership between Slack and ServiceNow. Allan Leinwand (our CTO) joined April Underwood of Slack to discuss and demonstrate the upcoming prebuilt integration between the two services to be released in Kingston. The video is here and the ServiceNow announcement begins around 14:30. Allan also has a blog post discussing the partnership. If you watch the video and/or read the announcement, you might be wondering exactly what this means for ServiceNow developers.
Deep Dive into the CreatorCon IoT Lab
How it Works, Behind the Scenes, Build Your Own
If you attended Knowledge 17 (or CreatorCon on the road in India or San Diego) and happened to be walking past certain breakout rooms, you might have mistaken the high pitched buzzing you heard for a fire or security alarm, and no one would blame you…that’s certainly what it sounded like. But nope, you just happened to walk past the IoT Intelligence and Automation with ServiceNow lab in progress.
One of the ongoing pain points that ServiceNow developer run into is staying abreast on information about the various server side and client side APIs. It can take some thought to remember which API is occuring in the browser vs the server. That can be compounded even more by the complication of which server side APIs are global vs scoped, and then which version they were introduced or their scope access was altered.
The Jakarta release of ServiceNow introduces support for a new import/export data format: JSON. This blog post is a quick overview of where and how you can interact with these new features. Export to JSON From a list of records, you can now choose JSON from the list of file formats when exporting data. Right click the header of any record list and select Export > JSON.
JSON Structure The output of this export is a simple JSON structure.
In an interesting coincidence, I recently had to solve this issue in my own Travel Tracker app (as seen on a number of Live Coding Happy Hour episodes). Just today, someone in the Developer Program asked the same thing so I thought I would document it for posterity. What happens when an incoming connection you don’t control (such as a webhook) isn’t using application/json or application/xml as the Content-Type on the HTTP transaction?